Adaptive control of coating thickness

ABSTRACT

An example method that includes receiving a geometry of a component that includes a plurality of locations on a surface of the component; determining a first target trajectory including a first plurality of target trajectory points and a second target trajectory including a second plurality of target trajectory points, the first and second trajectories offset in a first direction, and the first and second plurality of trajectory points offset in a second direction; determining a respective target coating thickness of the coating based on a target coated component geometry and the geometry; and determining a respective motion vector of a coating device based on the first and second target trajectories to deposit the respective target coating thickness.

This application is a divisional of U.S. patent application Ser. No.16/054,705 filed on Aug. 3, 2018, which claims the benefit of U.S.Provisional Application No. 62/541,394, filed Aug. 4, 2017, and U.S.Provisional Application No. 62/541,397, filed Aug. 4, 2017, which areincorporated herein by reference in their entirety.

TECHNICAL FIELD

The present disclosure generally relates to systems and techniques foradaptive control of a thickness of a coating applied to a component.

BACKGROUND

The components of high-temperature mechanical systems, such as, forexample, gas turbine engines, operate in severe environments. Forexample, the high-pressure turbine blades and vanes exposed to hot gasesin commercial aeronautical engines typically experience surfacetemperatures of about 1000° C., with short-term peaks as high as 1100°C. Components of high-temperature mechanical systems may include asuperalloy substrate, a ceramic substrate, or a ceramic matrix composite(CMC) substrate. In many examples, the substrates may be coated with oneor more coatings to modify properties of the surface of the substrate.For example, superalloy substrates may be coated with a thermal barriercoating to reduce heat transfer from the external environment to thesuperalloy substrate. Ceramic or CMC substrates may be coated with anenvironmental barrier coating to reduce exposure of the ceramic or CMCsubstrate to environmental species, such as oxygen or water vapor.Additionally, certain components may include other functional coatings,such as, for example, bond coatings to improve adhesion between thesubstrate and adjacent coating layers, abradable coatings for formingseals between moving parts, abrasive coatings to provide toughness tomoving components that may contact abradable coatings, or the like.

SUMMARY

In some examples, the disclosure describes a method that includesreceiving, by a computing device, a geometry of a component thatincludes a plurality of locations on a surface of the component. Themethod also includes determining, by the computing device, a firsttarget trajectory comprising a first plurality of target trajectorypoints based on the plurality of locations and a second targettrajectory comprising a second plurality of target trajectory pointsbased on the plurality of locations, wherein the first trajectory andthe second trajectory are offset in a first direction relative to eachother, and wherein the plurality of first trajectory points and theplurality of second trajectory points are offset in a second directionrelative to each other. The method also includes determining, by thecomputing device, a respective target coating thickness of a coating foreach respective location of the plurality of locations based on a targetcoated component geometry and the geometry of the component. The methodalso includes determining, by the computing device, a respective motionvector of a coating device relative to the component for each firsttarget trajectory point of the plurality of first target trajectorypoints based on the first target trajectory and each second targettrajectory point of the plurality of second target trajectory pointsbased on the second target trajectory to define a path of the coatingdevice. The respective motion vector may include a respective directionvector and a respective velocity of the coating device relative to thecomponent.

In some examples, the disclosure describes a system that includes ameasuring device configured to measure a three-dimensional surfacegeometry of the component; a coating device configured to direct acoating material to a surface of the component to form the coating; anda computing device. The computing device is configured to receive, fromthe measuring device, a geometry of the component that includes aplurality of locations on a surface of the component. The computingdevice also is configured to determine a first target trajectorycomprising a first plurality of target trajectory points based on theplurality of locations and a second target trajectory comprising asecond plurality of target trajectory points based on the plurality oflocations, wherein the first trajectory and the second trajectory areoffset in a first direction relative to each other, and wherein theplurality of first trajectory points and the plurality of secondtrajectory points are offset in a second direction relative to eachother. The computing device also is configured to determine a respectivetarget coating thickness of the coating for each respective location ofthe plurality of locations based on a target coated component geometryand the geometry of the component. The computing device also isconfigured to determine a respective motion vector of a coating devicerelative to the component for each first target trajectory point of theplurality of first target trajectory points based on the first targettrajectory and each second target trajectory point of the plurality ofsecond target trajectory points based on the second target trajectory todefine a path of the coating device. The computing device also isconfigured to determine a respective velocity of the coating devicerelative to the component for each first target trajectory point of theplurality of first target trajectory points and each second targettrajectory point of the plurality of second target trajectory points todeposit the respective target coating thickness for each respectivelocation.

The details of one or more examples are set forth in the accompanyingdrawings and the description below. Other features, objects, andadvantages will be apparent from the description and drawings, and fromthe claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is conceptual and schematic block diagram illustrating an examplesystem for adaptive control of a thickness of a coating applied to acomponent.

FIG. 2 is a conceptual and schematic block diagram illustrating anexample of the computing device illustrated in FIG. 1.

FIG. 3 is a flow diagram of an example technique for controlling athickness of a coating applied to a component.

FIG. 4 is a flow diagram of an example technique for adaptivelydetermining spray law parameters used for a spray process to achieve athickness of a coating applied to a component.

FIG. 5 is a flow diagram illustrating an example technique forcontrolling a thickness of a coating applied to a component using targettrajectory points.

FIG. 6 is a conceptual diagram illustrating example coating devicetarget trajectories and target trajectory points on a rectangularcomponent.

FIG. 7 is a conceptual diagram illustrating example coating devicetarget trajectories and target trajectory points on an annularcomponent.

FIG. 8 is a flow diagram of an example technique for controlling athickness of a coating applied to a component using a comparison to ameasured coating thickness.

FIGS. 9A and 9B are heat maps illustrating a measured coating thicknessof the first component and a simulated coating thickness of the firstcomponent based on a geometry of the first component and the first sprayprogram, respectively.

FIG. 10 is a heat map illustrating a measured coating thickness of thesecond component.

FIG. 11 is a heat map illustrating a measured coating thickness of thethird component.

DETAILED DESCRIPTION

The components of high-temperature mechanical systems, such as, forexample, gas turbine engines, may include a superalloy substrate, aceramic substrate, a CMC substrate, or the like. These components may bemanufactured to meet a geometric tolerance, for example, to withstandthe mechanical forces of high-temperature mechanical systems or to fitwith small gaps or spaces to adjacent components. For example, some gasturbine engine components, e.g., turbine blades, may be manufactured tomeet a geometric tolerance to balance a compressor stage duringoperation or achieve relatively small gaps between a blade tip and asurrounding blade track or blade shroud. Achieving geometric tolerancesmay contribute to the performance of a high-temperature mechanicalsystems.

Also, components of high-temperature mechanical systems may include oneor more coatings, for example, to facilitate operation in thehigh-temperature environment of high-temperature mechanical systems. Forexample, gas turbine engine components may include at least one of abond coat, a calcia-magnisia-aluminosilicate (CMAS)-resistance layer, anenvironmental barrier coating (EBC), a thermal barrier coating (TBC), anabradable coating, an abrasive coating, or the like. Each of the one ormore coatings may have unique mechanical properties, chemicalproperties, or both to contribute to the performance of ahigh-temperature mechanical system component. For example, EBCs may bereduce the migration into the substrate of elements or compounds, e.g.,oxygen and water vapor, that may damage and reduce the useful life ofthe substrate.

Application of a coating to a surface of a component may affect ageometric tolerance of the component. For example, application of acoating may fill depressions in a surface to bring the surface closer tothe geometric tolerance, or accumulate on peaks or crests to bring thesurface further out of tolerance. Controlling a thickness of a coatingdirected to a surface of a component, where the surface is out oftolerance, such that the resulting coated component meets the geometrictolerance may reduce material waste, manufacturing time, andmanufacturing expense compared to other coating methods, top coatmachining methods, or both. Therefore, it may be useful to direct acoating of variable thickness to surface of a component to meet ageometric tolerance.

In some examples, controlling the thickness of the coating may includedefining a plurality of target trajectory points on the surface of thecomponent. Each respective target trajectory point of the plurality oftarget trajectory points may define a point at which motion of thecoating device is controlled and may include a respective target regionassociated with the respective target trajectory point. A coating systemmay define a target trajectory including a plurality of targettrajectory points. At each target trajectory point, the computing devicemay define a motion vector, including direction and velocity, thatcontrols movement of the coating device at that target trajectory point.For example, when a coating device (e.g., plume of the spray gun) entersa first target region defined by a first target trajectory point, thecoating system may control the coating device to move in a selecteddirection at a selected velocity toward a second target trajectorypoint. As the coating device has mass and power of motors are limited,the spacing of target trajectory points may be limited while allowingthe coating device to be accelerated to the control velocity.

This process may be repeated for the plurality of target trajectorypoints defining the target trajectory, and for a plurality of targettrajectories to coat a component. In some examples, the position of theplurality of target trajectory points on the surface of the componentmay be selected to improve control of the velocity of the coatingdevice. For example, a first target trajectory including a firstplurality of target trajectory points and a second target trajectoryincluding a second plurality of target trajectory points may be offsetin a first direction relative to each other, and the plurality of firsttrajectory points and the plurality of second trajectory points may beoffset in a second direction relative to each other. The offsetarrangement of the first plurality of target trajectory points and thesecond plurality of target trajectory points may improve the effectiveresolution of the coating device relative to the surface of thecomponent by reducing a spacing between adjacent points in the seconddirection (when considering two target trajectories that are adjacent inthe first direction). Improving the effective resolution of velocitycontrol may allow improved control of coating thickness deposition as afunction of location on the surface of the component. In this way, thecoating system may improve the accuracy of coating application toparticular portions of the surface of the component, e.g., the effectiveresolution of coating application may be increased.

Additionally, a coating may accumulate at different rates on differentportions of a surface of the component due to, for example, fixtureeffects, such as aerodynamics of the different portions of the surfaceof the component or heat loss at the different portions of the surfaceof the component, or spray booth effects, such as arrangement of acomponent within a coating system. A sticking factor may define the rateof accumulation of a coating at a particular location on a component asa percentage of an expected rate of accumulation when neglecting theseeffects. Adaptive control of a coating process may enable adjustment ofcoating process parameters to account for sticking factor variabilityover a component, between components, between coating systems, orcombinations thereof. Accounting for sticking factor variability mayimprove consistency of coating applications between components coated ina single coating process run, between components in multiple coatingprocess runs on the same coating system, and between components coatingin different coating systems.

In some examples, during the repeated application of a coating to aplurality of components, a coating system may experience process drift.Process drift may be defined as a change over time in the amount ofcoating accumulation on the surface of a component for a given set ofcoating process parameters. Process drift may be a result of, forexample, wear of the components of the coating system or variability inproperties of a coating material. Adaptive control of a coating processmay enable incremental adjustment of coating process parameters overtime to at least partially correct for process drift. In some examples,reducing process drift may extend a useful life of the components of thecoating system as the components wear, reduce the need to recalibrateequipment, or both. Increasing the useful life of the components orreducing equipment recalibration may reduce equipment down time,manufacturing expenses, or the like. In some examples, reducing processdrift may account for variability in coating material properties betweendifferent coating material lots, such as, for example, coating materialparticle size, moisture, melting point, or the like. Accounting forvariability in coating material properties between different lots mayreduce equipment downtime, manufacturing expense, or the like.

FIG. 1 is a conceptual and schematic block diagram illustrating anexample system 10 for adaptive control of a thickness of a coatingapplied on a component 12. Component 12 may include a superalloysubstrate, a ceramic substrate, a CMC substrate, or the like. In someexamples, component 12 may be a component of a high-temperaturemechanical system, such as, for example, a gas turbine engine. Component12 may include surface imperfection such as, for example, depressions,peaks, or crests relative to a desired plane of the surface of component12. For example, surface imperfections may be created during manufactureof component 12 or due to wear of a surface of component 12 duringoperation of component 12.

System 10 may include an enclosure 14 defining a coating station. System10 also may include stage 16, mount 18, measuring device 20, and coatingdevice 22, which may be disposed within enclosure 14. Enclosure 14 maybe any suitable size or shape to at least partially enclose component12, stage 16, mount 18, measuring device 20, and coating device 22. Insome examples, enclosure 14 may be sized or shaped to allow an operatorto insert or remove any one or more of component 12, stage 16, mount 18,measuring device 20, and coating device 22 to and from enclosure 14. Insome examples, enclosure 14 may be configured to maintain selectedenvironment, e.g., a pressure or a gas composition different thanatmospheric pressure or composition, around component 12. In someexamples, enclosure 14 may include two or more enclosures. For example,a first enclosure may at least partially enclose at least measuringdevice 20, and a second enclosure may at least partially enclose atleast coating device 22. System 10 also may include computing device 30,which may control operation of system 10, including, for example, atleast one of stage 16, measuring device 20, or coating device 22.

Mount 18 may be configured to receive and detachably secure component12, e.g., relative to measuring device 20 and coating device 22. Forexample, mount 18 may be shaped to receive a root section (e.g., firtree section) of a turbine blade. Mount 18 may further include a clamp(e.g., spring clamp, bolt clamp, vise, or the like) or another fastenerconfigured to detachably secure component 12 on stage 16.

Measuring device 20 may be configured to measure a three-dimensionalsurface geometry of component 12. For example, measuring device 20 mayinclude a coordinate measuring machine (“CMM”) (e.g., the CMM probe maybe mechanical, optical, laser, or the like), a structured-lightthree-dimensional scanner, another non-contacting optical measurementdevice; digital image correlation, photogrammetry, or the like. In someexamples, measuring device 20 may measure a variation in the surface ofcomponent 12 with a precision that is less than about 50 microns, lessthan about 25 microns, or less than about 10 microns. In other examples,measuring device 20 may measure a variation in the surface of component12 with a precision that is less than a predetermined threshold value(e.g., a tolerance of a geometry of component 12).

Measuring device 20 may generate a data set including a plurality ofvalues that define the surface of component 12. For example, the dataset may include a plurality of tuples, such as a plurality of 3-tuples,where each tuple defines a point on the surface of component. Measuringdevice 20 may generate the data set with any selected format readable bycomputing device 30.

In some examples, measuring device 20 additionally may be configured tomeasure a thickness of a coating on component 12 (e.g., a testcomponent). Measuring device 20 may measure a thickness of a coating oncomponent 12 by any suitable destructive or non-destructive coatingmeasurement method. In some examples, measuring device 20 may includeany suitable coating thickness gauge, such as, ultrasonic gauges, eddycurrent gauges, PCT-CT coating thickness gauge, available form PCEAmericas, Jupiter, Fla., destructive sectioning, or the like.

Coating device 22 may be configured to direct a coating material to asurface of component 12 to form a coating on the surface. Coating device22 may include any suitable coating device, such as, for example, athermal spray gun (e.g., a plasma spray gun, a detonation spray gun, awire arc spray gun, a flame spray gun, a high velocity oxy-fuel (HVOF)spray gun, high velocity air fuel spray gun, a warm spray gun, a coldspray gun, or the like), a powder coating gun, a paint gun, or the like.In some examples, coating device 22 may direct a coating material to asurface of component 12 in a coating plume to deposit a layer of acoating, and may be controlled by computing device 30 to depositmultiple layers of the coating at a location of the surface overmultiple passes of the coating device 22 over the location. In someexamples, a layer of the coating may have a thickness that is less thana variation in the surface of component 12. For example, thepredetermined variation may be a difference between the actual surfacegeometry of component 12 and a target surface geometry for component 12.In other examples, a layer of a coating may have a thickness that isless than a predetermined threshold value, such as a tolerance of ageometry of component 12, so that the coating may be used to compensatefor deviations of the geometry of component 12 from the target geometryand arrive within the geometric tolerance for component 12. In someexamples, a layer of a coating may have a thickness that varies due tothermodynamic effects associated with component 12, such as, forexample, heat emitted from a surface of component 12 or components ofsystem 10 during a particular coating run, aerodynamic effects, such as,for example, alterations in the flow of a coating material or a carriergas due to an arrangement of components of system 10 for a particularcoating run, or other spray booth effects, such as, for example, aparticular arrangement of components of system 10. In some examples, alayer of a coating may have a thickness between about 0.1 mil (2.54microns) to about 500 mil (12.7 millimeters), or about 0.5 mil (12.7microns) to about 250 mil (6.35 millimeters), or about 0.8 mil (20.32microns) to about 50 mil (1.27 millimeters).

Computing device 30 may include, for example, a desktop computer, alaptop computer, a tablet computer, a workstation, a server, amainframe, a cloud computing system, a robot controller, or the like.Computing device 30 is configured to control operation of system 10including, for example, at least one of stage 16, mount 18, measuringdevice 20, or coating device 22. Computing device 30 may becommunicatively coupled to at least one of stage 16, mount 18, measuringdevice 20, or coating device 22 using respective communicationconnections. In some examples, the communication connection may includea network link, such as Ethernet or other network connections. Suchconnection may be a wireless connection, a wired connection, or acombination of both. In some examples, the communications connectionsmay include other types of device connections, such as, USB, IEEE 1394,or the like. For example, computing device 30 may be communicativelycoupled to measuring device 20 via wired or wireless measuring deviceconnection 26 and/or coating device 22 via wired or wireless coatingdevice connection 28.

Although not shown in FIG. 1, system 10 may include one or more powersources. In some examples, one or more power source may be electricallycoupled to each of computing device 30, measuring device 20, and coatingdevice 22. In other examples, one or more power sources may beelectrically coupled to computing device 30, which may be electricallycoupled to each of measuring device 20 and coating device 22 viameasuring device connection 26 and coating device connection 28,respectively.

Computing device 30 may be configured to control an operation of any oneor more of stage 16, mount 18, measuring device 20, or coating device 22to position component 12 relative to measuring device 20, coating device22, or both. For example, computing device 30 may control any one ormore of stage 16, mount 18, or measuring device 20 to translate and/orrotate along at least one axis to position component 12 relative tomeasuring device 20. Positioning component 12 relative to measuringdevice 20 may include positioning at least a portion of component 12 tobe measured using measuring device 20 relative to measuring device 20.Similarly, computing device 30 may control any one or more of stage 16,mount 18, or measuring device 20 to translate and/or rotate along atleast one axis to position component 12 relative to coating device 22.Positioning component 12 relative to coating device 22 may includepositioning at least a portion of component 12 to be coated usingcoating device 22 relative to coating device 22.

Computing device 30 also may be configured to control an operation ofcoating device 22. In some examples, computing device 30 may control acoating material source to provide a coating material to coating device22. The coating material may include, for example, a powder, such as afluidized powder, e.g., a powder carried in a gas or liquid. In someexamples, computing device 30 may control coating device 22 toaccelerate particles, e.g., of the coating material, or a gas or liquidmedia, toward a surface of component 12. In some examples, computingdevice 30 may control coating device 22 to supply energy from an energysource to the coating material or the gas or liquid media. For example,computing device 30 may control coating device 22 to generate a plasmausing a working gas and a voltage source or to generate a combustionreaction using a fuel and an oxidant. In some examples, computing device30 may control coating device 22 to mix particles a coating or feedstockwith a heated gas or liquid media, such as a plasma plume, a combustiongas, or the like. Computing device 30 may control coating device 22 todirect the coating material toward a surface of component 12, bycontrolling a position, orientation, and movement of coating device 22relative to component 12. Computing device 30 may control a position,orientation, and movement of coating device 22 to direct the coatingmaterial toward one or more locations on the surface of component 12.

In accordance with techniques of this disclosure, computing device 30may be configured to control measuring device 20 to acquire arepresentation of the three-dimensional surface geometry (e.g.,geometry) of component 12. For example, computing device 30 may controlmeasuring device 20 to measure a geometry of component 12. The geometryof component 12 may include three-dimensional coordinates for aplurality of locations on component 12. In some examples, computingdevice 30 may control a mechanical or optical probe of measuring device20 to scan or raster a surface of component 12 to acquire the geometryof component 12. In other examples, computing device 30 may control aplurality of optical elements of measuring device 20 to acquire aplurality of images of component 12. The plurality of images may beanalyzed by computing device 30 or measuring device 20 to reconstructthe geometry of component 12.

In some examples, computing device 30 may be configured to controlmeasuring device 20 to measure a thickness of a coating on component 12in a coated state (e.g., a test component) associated with one or moreof the three-dimensional coordinates for a plurality of locations oncomponent 12. For example, computing device 30 may control a magnetic,inductive, resistive, thermal, or optical probe of measuring device 20to scan or raster a surface of component 12 to acquire the thickness ofa coating on a surface of component 12. Computing device 30 may use apreviously or simultaneously acquired representation of thethree-dimensional surface geometry to associate the measured thicknesswith the plurality of locations on component 12. For example, computingdevice 30 may determine a difference between a measuredthree-dimensional surface geometry of component 12 in an uncoated stateand a measured dimensional surface geometry of component 12 in a coatedstate to determine the coating thickness. In some examples, thethree-dimensional surface geometry of component 12 may include a nominalCAD model of the surface of component 12. Computing device 30 may beconfigured to retrieve the nominal CAD model from a memory storagedevice configured to store the nominal CAD model. As discussed above,computing device 30 may be communicatively coupled to measuring device20. In this way, computing device 30 may receive a geometry of component12 from measuring device 20 and/or receive a coating thickness ofcomponent 12 (e.g., a test component) from measuring device 20. Further,as described above, the geometry of component 12 and/or coatingthickness of component 12 may include a data set in any selected format,such as a plurality of tuples, representing the geometry of component 12and/or coating thickness of component 12.

In some examples, computing device 30 may be configured to controlmeasuring device 20 to acquire respective geometries of each componentof a plurality of components. For example, computing device 30 maycontrol measuring device 20 to acquire a respective geometry of aplurality of geometries of a single component in a respective state of aplurality of states. Each state may be a different stage of amanufacturing process by which component 12 is formed. For example, afirst state may be after casting, forging, additive manufacturing, orthe like to form an uncoated substrate of component 12 and a secondstage may be after forming a coating on a selected area of the substrateor all of the substrate. Other states are possible, depending on themanufacturing process used to form component 12. Also, computing device30 may control measuring device 20 to acquire a respective geometry of aplurality of geometries of a respective component 12 of each component aplurality of components in a first state (e.g., an uncoated state, or acoated state, or both). The plurality of components may be componentswith the same or substantially similar geometry, or dissimilar geometry.

For example, computing device 30 may receive, from measuring device 20,data representative of a geometry of component 12. The geometry ofcomponent 12 may include three-dimensional coordinates of a plurality oflocations on component 12. In some examples, the geometry may include arespective geometry of component 12 in a respective state of a pluralityof states. For example, the geometry may include a first geometry ofcomponent 12 that may be in a first uncoated state. In other examples,the geometry may include a second geometry of component 12 in a secondcoated state. For example, computing device 30 may use a first geometryof component 12 in a first uncoated state and a second geometry ofcomponent 12 in a second coated state to determine a coating thicknessof component 12. In other examples, the geometry may include arespective geometry of component 12 in a respective state of a pluralityof states (e.g., as discussed above). In some examples, computing device30 may receive, from measuring device 20, data representative of arespective geometry of a plurality of geometries of a respectivecomponent 12 of a plurality of components each in a respective state ofa plurality of states.

Once computing device 30 receives the data representative of thegeometry of component 12, in some examples, computing device 30 maydetermine a target coating thickness of a coating for each respectivelocation of the plurality of locations of component 12 based on a targetcoated component geometry and a measured geometry of component 12. Insome examples, the target coated component geometry may be a geometry ofcomponent 12 after completion of manufacturing (e.g., a final state ofcomponent 12). In other examples, the target coated component geometrymay be a geometry of component 12 after an intermediate manufacturingstate.

For example, computing device 30 may determine, for each respectivelocation of the plurality of locations (which represent points on thesurface(s) of component 12 (e.g., a respective x-, y-, z-axis coordinatein a three-coordinate system)), a difference between a measured geometryand a target geometry. Although describe as using the measured geometry,in some examples, the difference may be determined between a nominal CADgeometry of component 12. Computing device 30 may use any suitablecoordinate system to determine the target thickness (e.g., Cartesiancoordinates, polar coordinates, cylindrical coordinates, sphericalcoordinates, or the like). In some examples, the difference may be thetarget thickness of a coating. In other examples, a portion of thedifference may be the target thickness of a coating. For example, afirst portion of the difference may be the target thickness of a firstcoating and a second portion of the difference may be the targetthickness of a second coating, or the like.

In some examples, to facilitate determining the difference between themeasured geometry and the target geometry for each location, computingdevice 30 may register the measured geometry to the target geometry. Forexample, component 12 may include a geometrical registration featurethat computing device 30 uses to register the measured geometry ofcomponent 12 to the target geometry. The registration feature may be adedicated registration feature (e.g., a feature that serves no usefulpurpose aside from registration) or an incidental registration feature(e.g., a functional feature of component 12 that can also be used as aregistration feature). The registration feature may include, forexample, a predetermined size, shape, orientation, or the like, to allowcomputing device 30 to accurately register the measured geometry to thetarget geometry.

Computing device 30 may be configured to determine the respectivedifference for each respective location of the plurality of locations ina direction substantially normal to the measured surface of component 12at the respective location. By determining the respective differences ina direction substantially normal to the measured surface of component12, computing device 30 may facilitate application of the coating toachieve the target geometry, as the coating device 22 may be oriented toresult in the coating being applied in a direction substantially normalto the surface of component 12.

After determining the plurality of respective differences, computingdevice 30 may determine a number of passes that coating device 22 willtravel over each position of a plurality of positions to deposit thetarget thickness of the coating at each position of the plurality ofpositions, a velocity that coating device 22 will travel over eachposition of the plurality of positions to deposit the target thicknessof the coating at each location of component 12, or both. The pluralityof positions may be associated with the plurality of locations. Forexample, the plurality of positions may be defined by a predeterminedtemplate coating program. The plurality of positions defined by thepredetermined template coating program may correlate with one or morerespective locations of the plurality of locations. In some examples, arespective position of the plurality of positions may be included in anarea on a surface of the component that includes one or more of thedetermined plurality of locations. In some examples, the plurality ofpositions may include respective positions that are not located on thesurface of the component. For example, the plurality of positions mayinclude at least one simulated position near an edge of component 12 butnot on the surface of component 12. The at least one simulated positionmay enable computing device 30 to control the movement, e.g., trajectoryor velocity, of the coating device 22 near the edge of component 12. Insome examples, each of the plurality of positions may directly correlateto a respective location of the plurality of locations. In someexamples, computing device 30 may determine at least one coating devicepath, which defines the motion of coating device 22 relative tocomponent 12 for coating at least a portion of component 12. The coatingprogram for coating component 12 may include at least one coating devicepath, such as a plurality of coating device paths. A first respectivepath of the plurality of paths may direct coating device 22 to the sameportion, different portions, or one or more overlapping portions ofcomponent 12, compared to other respective paths of the plurality ofpaths.

In some examples, computing device 30 may determine the number of passesfor each position of the plurality of positions based on a predeterminedtemplate coating program. The predetermined template program may definethe plurality of positions; parameters for a coating process, including,for example, orientation and position of coating device 22 relative tocomponent 12 for each location of component 12, movements of coatingdevice 22 relative to component 12, and acceleration of coating device22 relative to component 12; spray parameters including, for example, afeed rate of coating material to coating device 22, a feed rate of aworking gas to coating device 22, and the like; and other parametersthat define the coating process. In some examples, the predeterminedtemplate program has been experimentally verified to produce a coatingwith acceptable characteristics (e.g., chemical properties, mechanicalproperties, or both). In some examples, each of these parameters may befixed, and only the number of passes, and a velocity of coating device22 relative to component 12 may be changed by computing device 20. Bylimiting changes to the predetermined template program to only thenumber of passes and the velocity of coating device 22, the resultingmodified coating program may be more likely to produce an acceptablecoating, e.g., than if other variables, such as material feed rate,distance from coating device 22 to component 12, or the like, were to bevaried.

In some examples, the predetermined template program may include aplurality of subroutines. Each respective subroutine of the plurality ofsubroutines may define, relative to a respective position of theplurality of positions, at least one of a path of travel of coatingdevice 22, a velocity of travel of coating device 22, an orientation ofcoating device 22, or the like. Further, each subroutine may include aplurality of moves of coating device 22 relative to component 12. Forexample, if component 12 includes a gas turbine engine blade, thepredetermined template program may include a first subroutine forcoating a tip of component 12, a second subroutine for coating ahigh-pressure face of component 12, a third subroutine for coating alow-pressure face of component 12, a fourth subroutine for coating aplatform of component 12, and a fifth subroutine for coating a root ofcomponent 12. Other examples of components 12, and numbers andcorresponding position for subroutines are also contemplated. Thepredetermined template program may include a respective number of passesfor each subroutine, e.g., a respective number of times each respectivesubroutine may be executed by computing device 30.

The predetermined template program may be written in any suitableprogramming language (e.g., C/C++, Python, Java, C#/.NET, MATLAB,Assembly, Hardware Description Languages (HDLs), LISP, industrial robotlanguages, BASIC/Pascal, or the like). In some examples, computingdevice 30 may include a pre-processor that converts the predeterminedtemplate program language (e.g., robot code) to a robot-agonisticformat.

Computing device 30 may be configured to adjust one or more parametersof the predetermined template program or parameters of a coating processto arrive at a coating program for applying a coating that substantiallyachieve the target geometry for component 12. For example, computingdevice 30 may determine a respective number of passes of coating device22 for each location of component 12. In some examples, computing device30 may determine a number of passes for each position of the pluralityof positions by determining a respective number of times each respectivesubroutine of a predetermined template program is to be executed orperformed (e.g., a subroutine count).

In some examples, computing device 30 may determine a velocity ofcoating device 22 relative to component 12 for each respective positionof a plurality of positions. For example, in instances in which thecoating program includes a plurality of subroutines and each subroutineincludes at least one move of coating device 22, computing device 30 maydetermine a respective velocity for each respective move of coatingdevice 22. In this way, in some examples, coating device 30 maydetermine a number of passes of coating device 22 with respect to eachposition of the plurality of positions, a velocity of coating device 22with respect to each position of the plurality of positions, or both, inorder to determine a coating program for applying a coating tosubstantially achieve the target geometry of component 12.

In some examples, computing device 30 may utilize a non-linearoptimization technique to determine the number of passes, the velocity,or both. For example, computing device 30 may be configured to performan optimization using the L-BFGS-B nonlinear optimization algorithm (alimited-memory Broyden-Fletcher-Goldfarb-Shanno approximation thathandles bound constraints on variables). As part of the optimizationtechnique, computing device 30 may execute a simulation of the coatingprocess based on the measured geometry of component 12 and at least onespray law. A spray law outputs a prediction of a rate of coatingaccumulation at a location based on process conditions. The processconditions may include, for example, the position and orientation ofcoating device 22 relative to the location (e.g., in x-, y-, andz-coordinate system), the measured geometry of component 12 including,but not limited to, surface characteristics of component 12, such ascurvature, and coating material already present at the location. Thespray law may be empirically based. In some examples, each spray law mayinclude at least one spray law parameter (e.g., may include a pluralityof spray law parameters). In some examples, the spray law parameters maybe associated with physical processes of the coating process. In otherexamples, the spray law parameters may be coefficients, exponents, orthe like of one or more equations representing the coating process.

In some examples, a single coating process or a single subroutine of acoating process may be represented by a plurality of spray laws. Forexample, each position of the plurality of positions may be associatedwith a respective spray law, which may be the same for all positions,may be different for at least some positions than at least some otherpositions, or may be different for each position. In example in which acoating includes a plurality of coating layers, each position of theplurality of position of a plurality of a respective coating layer ofthe plurality of coating layers may be associated with a respectivespray law, which may be the same for all positions, may be different forat least some positions than at least some other positions, or may bedifferent for each position.

In some examples, a spray law may account for an amount of coatingmaterial present at a location. For example, coating material mayaccumulate at a location at a rate that depends in part on an amount ofcoating material present at the location. In some examples, as morecoating material is present at a location, further coating material mayaccumulate at the location more quickly. In other examples, as morecoating material is present at a location, further coating material mayaccumulate at the location more slowly. In either case, a spray law mayinclude a variable representing a change in the rate of accumulation ofa coating on component 12 as a function of coating material present atthe location. The variable may be, for example, a multiplicative factorthat is applied to the spray law based on the amount of coating materialpresent at the location (e.g., the thickness of the coating materialpresent at the location). As such, for a given location, computingdevice 30 may select a different spray law to represent accumulation ofcoating material at the given location for each pass of a plurality ofpasses. Because of this, the number of passes for a position, thevelocity on a second or subsequent pass over the position, or both, maybe based on an amount of coating applied at a location in one or moreprevious passes.

Computing device 30 may utilize at least one spray law (e.g., aplurality of spray laws) and the measured geometry of component 12 todetermine a number of passes of coating device 22 for each respectiveposition of the plurality of positions to achieve the target geometry bysimulating the coating process using the at least one spray law. Theresult of the simulation may be a number of passes of coating device 22for each respective position of the plurality of positions. In someexamples, as described above, the velocity of coating device 22 is alsoa controllable variable, and computing device 30 may additionallydetermine a respective velocity relative to component 12 for eachrespective position of the plurality of positions.

In some examples, such as where the predetermined template coatingprogram is divided into a number of subroutines, each subroutineincluding at least one movement of coating device 22, computing device30 may determine the number of passes for each respective position ofthe plurality of positions by determining a number of executions of eachsubroutine. Similarly, in some examples, computing device 30 maydetermine the respective velocity relative to component 12 bydetermining a respective velocity for each movement of coating device22.

In some examples, a plurality of sets of numbers of passes andvelocities may approximately achieve the target geometry of component12. To determine which of a plurality of possible sets of numbers ofpasses and velocities should be selected, computing device 30 may use anoptimization program, such as the L-BFGS-B optimization programdescribed above. For example, computing device 30 may determine thecomponent geometry created by the predetermined template coatingprogram, the number of passes for each position of the plurality ofpositions, and the velocity for each position of the plurality ofpositions, i.e., the simulated geometry. Computing device 30 may thendetermine an error value of this component geometry compared to thetarget geometry. For example, computing device 30 may determine anaverage error value of the component geometry. In some examples,computing device may determine the average error value by squaring theerror for each respective location, summing or averaging the squares ofthe error, and taking the square root of the sum.

Computing device 30 also may determine a total time for the coatingprocess to be completed, and an acceleration experienced by coatingdevice 22 during the coating process (e.g., acceleration due to startingand stopping motion for each movement of coating device 22). Computingdevice 30 may utilize at least one of the error value, the time, or theacceleration as inputs to the L-BFGS-B algorithm or another optimizationalgorithm, e.g., along with various parameters of the predeterminedcoating template program. The L-BFGS-B algorithm or other optimizationalgorithm may seek to reduce or minimize the objective function that isbased on at least one of the error value, the time, or the acceleration.The L-BFGS-B algorithm may output new variables (e.g., number of passesfor each location and velocity for each location), which may be inputsto the simulation. Computing device 30 may repeat this simulation andoptimization until the objective function, and optionally, the Jacobianof the objective function is reduced below a threshold value, or a rateof change of the objective function and, optionally, the Jacobian of theobjective function, is reduced to below a threshold value.

In some examples, during the determination of the number of passes andthe velocity, for each position of the plurality of positions, one ormore parameters of the predetermined template program may be constrainedby bounds. For example, the respective velocity of coating device 22 maybe constrained by a lower limit on the velocity and an upper limit onthe velocity. The arrangement and relative spacing of the position ofthe plurality of positions may be constrained by a lower limit on thespacing of adjacent positions (e.g., an upper limit on positionresolution) and an upper limit on the spacing of adjacent positions(e.g., a lower limit on position resolution). Bounds on one or moreparameters of the predetermined template program may enable control ofthe adjusted program, e.g., the degree to which one or more parametersof the predetermined template program may be adjusted. Control of theadjusted program may enable an adjusted program to meet predeterminedtolerance values.

In some examples, computing device 30 may perform a multi-stepoptimization routine to determine the number of passes and velocities.For example, computing device 30 may first determine a first respectivenumber of passes of coating device 22 for each respective position ofthe plurality of positions. For example, in a first optimization,computing device 30 may allow the respective number of passes for eachposition of the plurality of positions to vary as a real number. In someexamples, during the first optimization, computing device 30 also allowsthe velocity for each position of the plurality of positions to vary(e.g., within predetermined bounds). For example, computing device 30may simulate a total coating accumulation as coating accumulation from anumber of passes given by the integer portion of the number of passesplus coating accumulation from a single pass multiplied by thenon-integer portion of the number of passes. After the firstoptimization converges, computing device 30 may round each respectivenumber of passes to the nearest integer, e.g., may round each respectivenumber of passes to the nearest greater integer. In this way, therespective number of passes for each location may be based on arespective velocity utilized during the first optimization.

In a second optimization, computing device 30 may use the rounded valueof each respective number of passes to determine a respective velocityof coating device 22 for each respective position of the plurality ofpositions. In this way, the respective velocity of coating device 22 foreach respective position of the plurality of positions may be based onthe respective number of passes for each position of the plurality ofpositions.

Once computing device 30 has determined the respective number of passesfor each position of the plurality of positions and the respectivevelocity for each position of the plurality of positions (e.g., therespective number of executions of each subroutine and the respectivevelocity for each movement of coating device 22), computing device 30may control coating device 22 to coat component 12 based on thepredetermined template coating program. For example, computing device 30may control coating device 22 to direct a coating material to a surfaceof component 12 based on the determined numbers of passes andvelocities. In this way, computing device 30 may be configured to coatthe surface(s) of component 12 to substantially achieve a targetthickness for each respective location of the plurality of locations oncomponent 12.

The systems and techniques described herein also may be used to modifyparameters of at least one spray law to account for changes in a coatingprocess over time. For example, over a plurality of coating processes, anozzle of coating device 22 may wear, which may cause the coatingdeposited with a set of coating parameters to change. To modify theparameters of at least one spray law, computing device 30 may determinea difference or set of differences between a first simulated geometryand a second, measured geometry of component 12 in a coated state. Forexample, computing device 30 may determine a respective difference foreach respective location of the plurality of locations of the measuredgeometry of component 12. The first simulated geometry may be based on afirst, measured geometry of component 12 in an uncoated state and afirst spray law or a first plurality of spray laws. For example,computing device 30 may simulate coating accumulation on component 12(e.g., to form the first simulated geometry) using the first spray lawor the first plurality of spray laws and the first, measured geometry.As discussed above, the first spray law or each spray law of the firstplurality of spray laws may include at least one respective first spraylaw parameter.

After simulating the coating process using the first, measured geometryand the first spray law or first plurality of spray laws, computingdevice may compare the first simulated geometry to the second, measuredgeometry (of component 12 is a coated state). Similar to the abovediscussion, computing device 30 may determine, for each respectivelocation of the plurality of locations of the first, measured geometryof component 12 (e.g., a respective x-, y-, z-axis coordinate in athree-coordinate system), a respective difference between the second,measured geometry and the first simulated geometry. In this way,computing device 30 may compare a predicted or simulated thickness of acoating using the first spray law or first plurality of spray laws to anactual thickness of the coating on component 12.

In some examples, computing device 30 may determine whether the firstspray law or the first plurality of spray laws represents the coatingprocess sufficiently accurately. For example, computing device 30 maydetermine one or more differences representative of the difference ingeometry between the first simulated geometry and the second, measuredgeometry of component 12. In some examples, computing device 30 maydetermine one value representative of the difference. For example,computing device 30 may determine a respective difference for eachrespective location of the second, measured geometry of component 12.Computing device then may manipulate those respective differences toarrive at a single value, e.g., by averaging the differences or squareddifferences, summing the differences or squared differences, or thelike. The single value thus may be representative of the accuracy withwhich the first simulated geometry reflects the second, measuredgeometry of component 12. Computing device 30 may compare the singlevalue to a predetermined threshold value to determine whether theaccuracy with which the first simulated geometry reflects the second,measured geometry of component 12 is sufficient for determining coatingprograms for coating a component. For example, in response to the singlevalue being less than the predetermined threshold value, computingdevice 30 may determine that the first spray law or first plurality ofspray laws represents the coating process sufficiently accurately andmay continue to use the first spray law or the first plurality of spraylaws for subsequent coating processes. On the other hand, in response tothe single value being greater than the predetermined threshold value,computing device 30 may determine that the first spray law or firstplurality of spray laws does not represent the coating processsufficiently accurately and may proceed to adapt the first spray law orfirst plurality of spray laws.

In some examples, rather than determining a single value representativeof the difference between the first simulated geometry and the second,measured geometry, computing device 30 may compare each respectivedifference associated with a location of the second, measured geometryof component 12 to a threshold difference value. Computing device 30then may count a number of differences that exceed the thresholddifference value, and compare this count to a threshold count number. Inresponse to the count being less than the threshold count value,computing device 30 may determine that the first spray law or firstplurality of spray laws represents the coating process sufficientlyaccurately and may continue to use the first spray law or the firstplurality of spray laws for subsequent coating processes. On the otherhand, in response to the count being greater than the threshold countvalue, computing device 30 may determine that the first spray law orfirst plurality of spray laws does not represent the coating processsufficiently accurately and may proceed to adapt the first spray law orfirst plurality of spray laws.

To adjust the first spray law or the first plurality of spray laws tomore accurately represent the coating process, computing device 30 mayadjust at least one first spray law parameter of the first spray law orthe first plurality of first spray law parameters to determine a secondspray law or a second plurality of spray law parameters. Computingdevice 30 then may determine a second simulated geometry based on thefirst, measured geometry and the second spray law or second plurality ofspray laws. For example, similar to the discussion above with respect tothe first simulated geometry, computing device 30 may simulate thesecond target geometry as the coating accumulation on component 12 usingthe second spray law or the second plurality of spray laws and the firstgeometry. Computing device 30 then may determine whether the secondspray law or second plurality of spray laws represents the coatingprocess with sufficient accuracy similar to process described above withrespect to the first simulated geometry.

In some examples, computing device 30 may utilize an optimizationalgorithm to adjust the at least one first spray law parameter. Forexample, computing device 30 may utilize a nonlinear optimizationalgorithm, such as the L-BFGS-B nonlinear optimization algorithm, toreduce (e.g., minimize) an objective function whose inputs include oneor more representations of the difference between the simulated geometryand the second, measured geometry. Similar to the process describedabove with respect to determining the number of passes and velocity,

the L-BFGS-B algorithm may output new variables (e.g., one or moresubsequent spray law parameters), which may be inputs to the simulation.For example, the L-BFGS-B algorithm inputs may include the objectivefunction based on at least one first spray law parameter. The L-BFGS-Balgorithm may adjust the at least one spray law parameter to reduce theobjective function. Computing device 30 then may utilize the subsequentspray law and the first, measured geometry to determine a subsequentsimulated geometry, and determine one or more values representative ofdifferences between the second, measured geometry and the subsequentsimulated geometry. The one or more values representative of differencesbetween the second, measured geometry and the subsequent simulatedgeometry are then inputs to the L-BFGS-B nonlinear optimizationalgorithm, by which computing device 30 determines a value of anobjective function, optionally, a value of a Jacobian of the objectivefunction, and updated spray law parameters. Computing device 30 mayrepeat this simulation and optimization until the objective function,and optionally, the Jacobian of the objective function is reduced belowa threshold value, or a rate of change of the objective function and,optionally, the Jacobian of the objective function, is reduced to belowa threshold value. In this way, the L-BFGS-B nonlinear optimizationalgorithm may be used to minimize the difference between the simulatedgeometry and the second, measured geometry.

In some examples, throughout the optimization or iteration technique,coating device 30 may maintain the number of passes of coating device 22for each respective location and the velocity of coating device 22 withrespect to component 12 for each respective location constant, as theseparameters are based on the actual coating process performed to coat thecomponent 12 and achieve the second, measured geometry.

Computing device 30 may iterate this technique until a value of theobjective function is less than a threshold value or a rate of change inthe objective function from one iteration to the next is less than athreshold value. Once a value of the objective function is less than athreshold value or a rate of change in the objective function from oneiteration to the next is less than a threshold value, computing device30 may determine that the most recent spray law or most recent pluralityof spray laws represents the coating process with sufficient accuracy.Computing device 30 then may utilize the most recent spray law or mostrecent plurality of spray laws in future coating processes, e.g., todetermine a number of passes and velocities for further coatingprocesses.

In some examples, computing device 30 may utilize measurementsassociated with a plurality of components to at least partially correctfor process drift. For example, similar to the above discussion,computing device 30 may determine one or more values representative ofdifference between a respective subsequent simulated geometry and arespective second, measured geometry of component 12 for each respectivecomponent of a plurality of components. Computing device 30 maydetermine a combination, such as an average, of the pluralitydifferences. In some examples, computing device 30 may determine a meanof the plurality of differences. In other examples, computing device 30may determine a weighted average of the plurality of differences. Forexample, computing device 30 may assign a relative weight to each of theplurality of differences. In some examples, the relative weight may bebased on the order in which each of the respective components of theplurality of components were coated by coating device 22. For example, adifference associated with a more recently coated component may beassigned a higher relative weight than a difference associated with aless recently coated component. In some examples, similar to the abovediscussion, computing device 30 may compare the average of the pluralityof differences to the predetermined threshold value or utilize theaverage as an input to the optimization algorithm, such as the L-BFGS-Balgorithm. By using differences associated with a plurality ofcomponents, computing device 30 may at least partially correct forprocess drift in coating device 22. In some examples, differencesassociated with a plurality of components, computing device 30 may moreaccurately at least partially correct for process drift in coatingdevice 22, compared to using only difference associated with only onecomponent. For example, using differences associated with a plurality ofcomponents may reduce effect of an outlier component, thus providing amore stable coating process.

In some examples, computing device 30 may repeat the at least partialcorrection for process drift at regular or irregular intervals. Forexample, computing device 30 may determine a subsequent spray law or aplurality of subsequent spray laws after controlling coating device 22to coat about 10 components, about 100 components, about 1,000components, or the like. Computing device 30 may then use the subsequentspray law or the plurality of subsequent spray laws to control coatingdevice 22 to coat another about 10 components, about 100 components,about 1,000 components, or the like. In some examples, the regular orirregular intervals may occur during a sequential coating of a pluralityof components. In this way, computing device 30 may adaptively control athickness of a coating of a plurality of components.

FIG. 2 is a conceptual and schematic block diagram illustrating anexample of computing device 30 illustrated in FIG. 1. In the example ofFIG. 2, computing device 30 includes one or more processors 40, one ormore input devices 42, one or more communication units 44, one or moreoutput devices 46, and one or more one or more storage components 48. Insome examples, one or more storage components 48 includes geometryacquisition module 50, geometry analysis module 52, spray law module 54,spray law adjustment module 56, threshold analysis module 58, andcoating device control module 60. In other examples, computing device 30may include additional components or fewer components than thoseillustrated in FIG. 2. In some examples, computing device 30 may includea simulation module configured to query spray law module 54 whenperforming simulations, a spray program adjustment module configured toupdate the spray laws based on an optimization algorithm, or both.

One or more processors 40 are configured to implement functionalityand/or process instructions for execution within computing device 30.For example, processors 40 may be capable of processing instructionsstored by one or more storage components 48. Examples of one or moreprocessors 40 may include, any one or more of a microprocessor, acontroller, a digital signal processor (DSP), an application specificintegrated circuit (ASIC), a field-programmable gate array (FPGA), orequivalent discrete or integrated logic circuitry.

Computing device 30 also includes one or more input devices 42. Inputdevices 42, in some examples, are configured to receive input from auser through tactile, audio, or video sources. Examples of input devices42 include a mouse, a keyboard, a voice responsive system, video camera,microphone, touchscreen, or any other type of device for detecting acommand from a user.

Computing device 30 further includes one or more communication units 44.Computing device 30 may utilize communication units 44 to communicatewith external devices (e.g., stage 16, mount 18, measuring device 20,and/or coating device 22) via one or more networks, such as one or morewired or wireless networks. Communication unit 44 may be a networkinterface card, such as an Ethernet card, an optical transceiver, aradio frequency transceiver, or any other type of device that can sendand receive information. Other examples of such network interfaces mayinclude WiFi™ radios or USB. In some examples, computing device 30utilizes communication units 44 to wirelessly communicate with anexternal device such as a server.

Computing device 30 may further include one or more output devices 46.Output devices 46, in some examples, are configured to provide output toa user using audio or video media. For example, output devices 46 mayinclude a display, a sound card, a video graphics adapter card, or anyother type of device for converting a signal into an appropriate formunderstandable to humans or machines.

One or more storage components 48 may be configured to store informationwithin computing device 30 during operation. One or more storagecomponents 48, in some examples, include a computer-readable storagemedium or computer-readable storage device. In some examples, one ormore storage components 48 include a temporary memory, meaning that aprimary purpose of one or more storage components 48 is not long-termstorage. One or more storage components 48, in some examples, include avolatile memory, meaning that one or more storage components 48 does notmaintain stored contents when power is not provided to one or morestorage components 48. Examples of volatile memories include randomaccess memories (RAM), dynamic random-access memories (DRAM), staticrandom-access memories (SRAM), and other forms of volatile memoriesknown in the art. In some examples, one or more storage components 48are used to store program instructions for execution by processors 40.One or more storage components 48, in some examples, are used bysoftware or applications running on computing device 30 to temporarilystore information during program execution.

In some examples, one or more storage components 48 may further includeone or more storage components 48 configured for longer-term storage ofinformation. In some examples, one or more storage components 48 includenon-volatile storage elements. Examples of such non-volatile storageelements include magnetic hard discs, optical discs, floppy discs, flashmemories, or forms of electrically programmable memories (EPROM) orelectrically erasable and programmable (EEPROM) memories.

Computing device 30 also may include geometry acquisition module 50,geometry analysis module 52, spray law module 54, spray law adjustmentmodule 56, threshold analysis module 58, and coating device controlmodule 60. Each of geometry acquisition module 50, geometry analysismodule 52, spray law module 54, spray law adjustment module 56,threshold analysis module 58, and coating device control module 60 maybe implemented in various ways. For example, one or more of geometryacquisition module 50, geometry analysis module 52, spray law module 54,spray law adjustment module 56, threshold analysis module 58, andcoating device control module 60 may be implemented as an application ora part of an application executed by one or more processors 40. In otherexamples, one or more of geometry acquisition module 50, geometryanalysis module 52, spray law module 54, spray law adjustment module 56,threshold analysis module 58, and coating device control module 60 maybe implemented as part of a hardware unit of computing device 30 (e.g.,as circuitry). Functions performed by one or more of geometryacquisition module 50, geometry analysis module 52, spray law module 54,spray law adjustment module 56, threshold analysis module 58, andcoating device control module 60 are explained below with reference tothe example flow diagrams illustrated in FIGS. 3 and 4.

Computing device 30 may include additional components that, for clarity,are not shown in FIG. 2. For example, computing device 30 may include apower supply to provide power to the components of computing device 30.Similarly, the components of computing device 30 shown in FIG. 2 may notbe necessary in every example of computing device 30.

FIG. 3 is a flow diagram of an example technique for controlling athickness of a coating applied to a component 12. Although the techniqueof FIG. 3 will be described with respect to system 10 of FIG. 1 andcomputing device 30 of FIG. 2, in other examples, the technique of FIG.3 may be performed using a different system, a different computingdevice, or both. Additionally, system 10 and computing device 30 mayperform other techniques for controlling a thickness of a coatingapplied to a component.

In some examples, although not shown in FIG. 3, the technique mayinclude controlling, by computing device 30, for example, geometryacquisition module 50, a position of any one or more of stage 16, mount18, measuring device 20, and coating device 22 to position component 12relative to measuring device 20, coating device 22, or both. Forexample, computing device 30 and, more particularly, geometryacquisition module 50, may control any one of stage 16, mount 18, ormeasuring device 20 to translate and/or rotate along at least one axisto position component 12 relative to measuring device 20. Computingdevice 30 may store, in one or more storage components 48, an initialposition of any one or more of stage 16, mount 18, measuring device 20,and coating device 22 to facilitate repeatable measuring of a geometryof component 12 in a respective state of a plurality of states (e.g., asdiscussed above), registration of the measured geometry of component 12to a simulated geometry, or both. As discussed above, each respectivecomponent 12 of the plurality of components may include a superalloycomponent, a ceramic component, or a CMC component.

The technique illustrated in FIG. 3 includes receiving, by computingdevice 30, for example, geometry acquisition module 50, datarepresentative of the three-dimensional surface geometry (e.g.,geometry) of component 12 from measuring device 20 (72). For example,the geometry of component 12 may include three-dimensional coordinatesof a plurality of locations on component 12 in a respective state of aplurality of states or each component of a plurality of components.

After receiving the data representative of the geometry of component 12,the technique illustrated in FIG. 3 includes determining, by computingdevice 30, for example, geometry analysis module 52, a respective targetcoating thickness of a coating for each respective location of theplurality of locations on component 12 (74). In some examples, therespective target coating thickness may be based on a target coatedcomponent geometry and a measured geometry of the component. Forexample, similar to the discussion above, the technique may includedetermining, by the computing device 30 and, more particularly, geometryanalysis module 52, for each respective location of the plurality oflocations (which represent points on the surface(s) of component 12(e.g., a respective x-, y-, z-axis coordinate in a three-coordinatesystem)), a difference between a measured geometry and a targetgeometry. In some examples, determining the respective target coatingthickness of the coating for each respective location of the pluralityof locations on component 12 (74) may include registering, by computingdevice 30, for example, geometry analysis module 52, the measuredgeometry to the target geometry, to facilitate determining thedifferences between the measured geometry and the target geometry foreach location. In some examples, computing device 30, for example,geometry analysis module 52, may determine the respective difference foreach respective location of the plurality of locations in a directionsubstantially normal to the measured surface of component 12 at therespective location.

After determining the target thickness, the technique illustrated inFIG. 3 may include determining, by computing device 30, for example,spray law module 54, a number of passes that coating device 22 willtravel over each position of the plurality of positions (e.g., definedby a predetermined template coating program) to deposit the targetthickness of the coating at each location of component 12, a velocitythat coating device 22 will travel over each position of the pluralityof positions to deposit the target thickness of the coating at eachlocation of component 12, or both (76). For example, computing device30, for example, spray law module 54, may determine at least one coatingdevice path, which defines the motion of coating device 22 relative tocomponent 12 for coating at least a portion of component 12. The coatingprogram for coating component 12 may include at least one coating devicepath, such as a plurality of coating device paths. A first respectivepath of the plurality of paths may direct a coating material to the sameportion, different portions, or one or more overlapping portions ofcomponent 12, compared to other respective paths of the plurality ofpaths.

In some examples, determining the number of passes or velocity thatcoating device 22 will travel over each position of the plurality ofpositions to deposit the target thickness of the coating at eachlocation of component 12 (76) may include determining, by computingdevice 30, for example, spray law module 54, may determine the number ofpasses over each position based on a predetermined template coatingprogram. In some examples, the predetermined template program may definethe plurality of positions and parameters for a coating process, whichmay be experimentally verified. In some examples, each of theseparameters may be fixed, and only the number of passes and the velocityof coating device 22 relative to component 12 may be changed bycomputing device 20. In some examples, the predetermined templateprogram may include a plurality of subroutines. In some examples, thepredetermined template program may be written in any suitableprogramming language (e.g., C/C++, Python, Java, C#/.NET, MATLAB,Assembly, Hardware Description Languages (HDLs), LISP, industrial robotlanguages, BASIC/Pascal, or the like).

In some examples, computing device 30, for example, spray law adjustmentmodule 56, may adjust one or more parameters of the predeterminedtemplate program or parameters of a coating process to arrive at acoating program for applying a coating to substantially achieve thetarget geometry for component 12. For example, computing device 30, forexample, spray law module 54, may determine a respective number ofpasses of coating device 22 for each position of the plurality ofpositions. In some examples, computing device 30, for example, spray lawmodule 54, may determine a number of passes for each position of theplurality of positions by determining a respective number of times eachrespective subroutine of a predetermined template program is to beexecuted or performed (e.g., a subroutine count).

In some examples, determining the number of passes or velocity thatcoating device 22 will travel over each position of the plurality ofpositions to deposit the target thickness of the coating at eachlocation of component 12 (76) may include determining, by computingdevice 30, for example, spray law module 54, a velocity of coatingdevice 22 relative to component 12 for each respective position of theplurality of positions. For example, in instances in which the coatingprogram includes a plurality of subroutines and each subroutine includesat least one move of coating device 22, computing device 30, forexample, spray law module 54, may determine a respective velocity foreach respective move of coating device 22. In this way, in someexamples, the technique may include determining, by computing device 30,for example, spray law module 54, a number of passes of coating device22 with respect to each position of the plurality of positions, avelocity of coating device 22 with respect to each position of theplurality of positions, or both, in order to determine a coating programfor applying a coating to substantially achieve the target geometry ofcomponent 12.

In some examples, computing device 30, for example, spray law adjustmentmodule 56, may utilize a non-linear optimization technique to determinethe number of passes, the velocities, or both. For example, computingdevice 30, for example, spray law adjustment module 56, may perform anoptimization using the L-BFGS-B nonlinear optimization algorithm (alimited-memory Broyden-Fletcher-Goldfarb-Shanno approximation thathandles bound constraints on variables). In some examples, part of theoptimization may include executing, by computing device 30, for example,spray law adjustment module 56, a simulation of the coating processbased on the measured geometry of component 12 and at least one spraylaw.

In some examples, determining the number of passes or velocity thatcoating device 22 will travel over each position of the plurality ofpositions to deposit the target thickness of the coating at eachlocation of component 12 (76) may include utilizing, by computing device30, for example, spray law module 54, the at least one spray law (e.g.,a plurality of spray laws) and the measured geometry of component 12 todetermine a number of passes of coating device 22 for each respectiveposition of the plurality of positions to substantially achieve thetarget geometry by simulating the coating process using the at least onespray law, to determine a velocity of coating device 22 for eachrespective position of the plurality of positions to substantiallyachieve the target geometry by simulating the coating process using theat least one spray law, or both. In some examples, such as where thepredetermined template coating program is divided into a number ofsubroutines, each subroutine including at least one movement of coatingdevice 22, the technique may include determining, by computing device30, for example, spray law module 54, the number of passes for eachrespective position of the plurality of positions by determining anumber of executions of each subroutine. Similarly, in some examples,the technique may include determining, by computing device 30, forexample, spray law module 54, the respective velocity relative tocomponent 12 by determining a respective velocity for each movement ofcoating device 22.

In some examples, during the optimization process, computing device 30,for example, spray law module 54, may select a different spray law torepresent accumulation of coating material at a given location for eachpass of a plurality of passes. For example, a respective spray law maybe associated with each respective location of the plurality oflocations of the measure geometry of component 12.

After determining the respective number of passes for each position andthe respective velocity for each position (e.g., the respective numberof executions of each subroutine and the respective velocity for eachmovement of coating device 22), the technique may include controlling,by computing device 30, for example, coating device control module 54,control coating device 22 to coat component 12 based on the plurality ofpositions and the predetermined template coating program. For example,computing device 30 may control coating device 22 to direct a coatingmaterial to a surface of component 12 based on the determined numbers ofpasses and velocities. In this way, computing device 30 may beconfigured to coat the surface(s) of component 12 to substantiallyachieve a target thickness for each respective location of the pluralityof locations on component 12.

FIG. 4 is a flow diagram of an example technique for adaptivelydetermining spray law parameters used for a spray process to achieve athickness of a coating applied to component 12. Although the techniqueof FIG. 4 will be described with respect to system 10 of FIG. 1 andcomputing device 30 of FIG. 2, in other examples, the technique of FIG.4 may be performed using a different system, different computing device,or both. Additionally, system 10 and computing device 30 may performother techniques for adaptively controlling a thickness of a coatingapplied to a component 12.

The technique illustrated in FIG. 4 includes receiving, by computingdevice 30, for example, geometry acquisition module 50, a first,measured geometry of component 12 in a first state (e.g., an uncoatedstate) and a second, measured geometry of component 12 in a subsequentstate (e.g., a coated state) (92). Receiving the first geometry andsecond geometry of component 12 may be the same or substantially similaras described above with respect to FIG. 3, except that each of the firstgeometry and second geometry may include a respective geometry of aplurality of geometries of component 12 in a respective state of aplurality of states.

The technique illustrated in FIG. 4 includes determining, by computingdevice 30, for example, geometry analysis module 52, a respective firstdifference between a first simulated geometry and a second, measuredgeometry in a coated state (94). Each respective first difference maycorrespond to a respective location of the plurality of locations of themeasured geometry of component 12. The first simulated geometry may bebased on a first, measured geometry of component 12 in an uncoated stateand a first spray law or a first plurality of spray laws. For example,computing device 30, for example, spray law module 54, may simulatecoating accumulation on component 12 using the first spray law or thefirst plurality of spray laws and the first, measured geometry. Asdiscussed above, the first spray law or each spray law of the firstplurality of spray laws may include at least one respective first spraylaw parameter.

After simulating the coating process using the first, measured geometryand the first spray law or first plurality of spray laws, the techniquemay include comparing, by computing device 30 and, more particularly,geometry analysis module 52, the first simulated geometry to the second,measured geometry. For example, the technique may include determining,by computing device 30 and, more particularly, geometry analysis module52, for each respective location of the plurality of locations of thefirst, measured geometry of component 12 (e.g., a respective x-, y-,z-axis coordinate in a three-coordinate system), a respective differencebetween the second, measured geometry and the first simulated geometry.

In some examples, although not illustrated in FIG. 4, the technique mayinclude determining, by computing device 30, for example thresholdanalysis module 58, whether the first spray law or the first pluralityof spray laws represents the coating process sufficiently accurately.For example, computing device 30, for example threshold analysis module58, may utilize the one or more differences representative of thedifference in geometry between the first simulated geometry and thesecond, measured geometry of component 12. In some examples, computingdevice 30, for example threshold analysis module 58, may determine onevalue representative of the difference. In some examples, computingdevice 30, for example threshold analysis module 58, may manipulate therespective differences to arrive at a single value, as described above.For example, computing device 30, for example, threshold analysis module58, may compare the single value to a predetermined threshold value todetermine whether the accuracy with which the first simulated geometryreflects the second, measured geometry of component 12 is sufficient fordetermining coating programs for coating another component. In otherexamples, computing device 30, for example threshold analysis module 58,may compare each respective difference associated with a location of thesecond, measured geometry of component 12 to a threshold differencevalue. Computing device 30, for example, threshold analysis module 58,may count a number of differences that exceed the threshold differencevalue, and compare this count to a threshold count number.

The technique illustrated in FIG. 4 also includes iteratively adjusting,by computing device 30, for example, spray law adjustment module 56, atleast one first spray law parameter of the first spray law or the firstplurality of first spray law parameters to determine a subsequent spraylaw or a subsequent plurality of spray law parameters (96). In someexamples, the subsequent spray law or the subsequent plurality of spraylaw parameters may more accurately represent the coating process. Afterdetermining the second spray laws, although not illustrated in FIG. 4,the technique includes determining, by computing device 30, for example,spray law module 54, a subsequent simulated geometry based on the first,measured geometry and the subsequent spray law or subsequent pluralityof spray laws.

After determining the subsequent simulated geometry, the technique mayinclude determining, by computing device 30, for example, spray lawmodule 54, whether the subsequent spray law or subsequent plurality ofspray laws represents the coating process with sufficient accuracy,similar to the process described above with respect to the firstsimulated geometry. For example, the technique illustrated in FIG. 4includes iteratively determining, by computing device 30 and, moreparticularly, geometry analysis module 52, a respective subsequentdifference between the second geometry and a subsequent simulatedgeometry (98).

In some examples, the technique includes utilizing, by computing device30 and, more particularly, spray law adjustment module 54, anoptimization algorithm to adjust the at least one first spray lawparameter and determine the subsequent spray law or the subsequentplurality of spray laws. As discussed above, the optimization algorithmmay include, for example, a nonlinear optimization algorithm, such asthe L-BFGS-B nonlinear optimization algorithm, to reduce (e.g.,minimize) an objective function whose inputs include one or morerepresentations of the difference between the simulated geometry and thesecond, measured geometry. In some examples, the technique may includeiteratively adjusting a spray law to determine a subsequent spray lawand iteratively determining a respective subsequent difference until avalue of the objective function is less than a threshold value or a rateof change in the objective function from one iteration to the next isless than a threshold value.

Once a value of the objective function is less than a threshold value ora rate of change in the objective function from one iteration to thenext is less than a threshold value, computing device 30, for example,threshold analysis module 58, may select a subsequent spray law from therespective subsequent spray laws based on the respective subsequentdifferences (100). For example, the technique may include determining,by computing device 30, for example, threshold analysis module 58, thatthe most recent spray law or most recent plurality of spray lawsrepresents the coating process with sufficient accuracy.

After selecting a subsequent spray law or subsequent spray laws thatrepresent the coating process with sufficient accuracy, the techniqueillustrated in FIG. 4 includes controlling, by computing device 30, forexample, coating device control module 58, a coating process based onthe selected subsequent spray law (102). For example, computing device30, for example, coating device control module 58, may utilize the mostrecent spray law or most recent plurality of spray laws in futurecoating processes, e.g., to determine a number of passes and velocitiesfor further coating processes.

In some examples, the technique of FIG. 4 may include utilizing, bycomputing device 30, for example, coating device control module 58,measurements associated with a plurality of components to at leastpartially correct for process drift. For example, similar to the abovediscussion in reference to FIG. 1, computing device 30, for example,geometry analysis module 52, may determine one or more valuesrepresentative of a difference between a respective subsequent simulatedgeometry and a respective second, measured geometry of component 12 foreach respective component of a plurality of components. Computing device30, for example, geometry analysis module 52, then may determine acombination, such as an average, a mean, a weighted average, of theplurality or differences. Computing device 30, for example, geometryanalysis module 52, may compare the combination of the plurality ofdifferences to the predetermined threshold value or utilize the averageas an input to the optimization algorithm, such as the L-BFGS-Balgorithm. By using differences associated with a plurality ofcomponents, the technique may at least partially correct for processdrift in coating device 22.

In some examples computing device 30, may repeat the technique of FIG. 4at regular or irregular intervals. For example, by computing device 30,may repeat the technique of FIG. 4 after controlling coating device 22to coat a particular number of components (e.g., about 10 components,about 100 components, about 1,000 components, or the like) or aftercontrolling coating device 22 to coat components over a particularduration (e.g., a number of hours, such as, less than about one hour,about 10 hours, or the like; a number of days, such as, about one day,about one week, or the like). In this way, the technique of FIG. 4allows computing device 30 to adaptively determine spray law parametersused for a spray process to achieve a thickness of a coating of aplurality of components.

In some examples, selection of positions of a plurality of targettrajectory points defining one or more target trajectories relative to asurface to be coated may be used to improve a resolution of the coatingdevice relative to the surface of the component, including, for example,the degree of control of changes in coating device velocity relative tothe surface of the component. FIG. 5 is a flow diagram illustrating anexample technique for controlling a thickness of a coating applied to acomponent 12 using target trajectory points. Although the technique ofFIG. 5 will be described with respect to system 10 of FIG. 1 andcomputing device 30 of FIG. 2, in other examples, the technique of FIG.5 may be performed using a different system, a different computingdevice, or both. Additionally, system 10 and computing device 30 mayperform other techniques for controlling a thickness of a coatingapplied to a component using target trajectory points.

The technique illustrated in FIG. 5 includes receiving, by computingdevice 30, for example, geometry acquisition module 50, a geometry ofcomponent 12 in a first state (e.g., an uncoated state) (112). Asdiscussed above, the geometry may include a plurality of locations on asurface of component 12. Receiving the geometry of component 12 may bethe same or substantially similar as described above with respect toFIG. 3.

The technique illustrated in FIG. 5 also includes determining, bycomputing device 30, for example, geometry acquisition module 50, afirst target trajectory and a second target trajectory for coatingdevice 22 or the plume generated by coating device 22. The first andsecond target trajectories may define a path of travel of coating device22 or the plume generated by coating device 22 relative to the surfaceof component 12. The first target trajectory may include a firstplurality of target trajectory points and the second target trajectorymay include a second plurality of target trajectory points. Each of thefirst and second plurality of target trajectory points may be based onthe plurality of locations on the surface of component 12, but may ormay not correspond to the plurality of locations. For example, alocation of each respective target trajectory point of the first andsecond plurality of target trajectory points relative to the surface ofcomponent 12 may be defined by one or more locations of the plurality oflocations.

FIG. 6 is a conceptual diagram illustrating example coating devicetarget trajectories and target trajectory points on a rectangularcomponent 130. As illustrated by FIG. 6, a first target trajectory 134and a second target trajectory 136 are offset in a first direction 135relative to each other. First target trajectory 134 and second targettrajectory 136 may define a path of travel of coating device 22 or theplume generated by coating device 22 relative to a surface of component12. In other examples, a plurality of target trajectories, such as morethan two target trajectories, may define the path of travel of coatingdevice 22. Although first target trajectory 136 and second targettrajectory 138 are illustrated as substantially parallel, in otherexamples, one or more target trajectories of a plurality of targettrajectories may be non-parallel or intersecting. For example, a firstset of one or more target trajectories may define a first pass of aplurality of passes of coating device 22 and a second set of one or moretarget trajectories may define a second pass of the plurality of passesof coating device 22 intersecting the first set of one or more targettrajectories. In this way, a plurality of target trajectories may beselected to enable coating device 22 to apply a coating material to anyselected portion of a surface of component 12.

The offset between first target trajectory 134 and second targettrajectory 136 in first direction 135 may be any suitable distance. Insome examples, the offset between first target trajectory 134 and secondtarget trajectory 136 in first direction 135 may be less than a diameterof the coating plume at the surface of component 12. In other examples,the offset between first target trajectory 134 and second targettrajectory 136 in first direction 135 may be less than a radius of thecoating plume at the surface of component 12, such that the coatingplume overlaps second target trajectory 136 while coating device 22follows first target trajectory 134, and vice versa. In some examples,the offset between first target trajectory 134 and second targettrajectory 136 in first direction 135 may be significantly less than aradius of the coating plume at the surface of component 12, such thatthe coating plume overlaps more than one adjacent target trajectorywhile coating device 22 follows a given target trajectory.

A target trajectory may include any suitable number of target trajectorypoints. For example, first target trajectory 134 includes a plurality offirst target trajectory points 138A, 138B, 138C, 138D, and 138E(collectively, “first target trajectory points 138”), and second targettrajectory 136 includes a plurality of second target trajectory points140A, 140B, 140C, and 140D (collectively, “second target trajectorypoints 140”). Computing device 30 may control motion of coating device22 based on target trajectory points 138 and 140. For example, each oftarget trajectory points 138 and 140 may represent a center of a volume(e.g., a sphere or polygon). Each target trajectory point of targettrajectory points 138 and 140 may be associated with a respective motionvector that defines the motion direction and velocity of coating device22. Computing device 30 may control coating device 22 to move from afirst target trajectory point (e.g., first target trajectory point 138A)to a second, subsequent target trajectory point (e.g., second targettrajectory point 138B). In some examples, computing device 30 controlscoating device 22 to move from the first target trajectory point (e.g.,first target trajectory point 138A) to the second, subsequent targettrajectory point (e.g., second target trajectory point 138B) uponcoating device 22 entering the volume associated with the first targettrajectory point. As coating device 22 has mass and the motors impartingmotion to coating device 22 have finite power, acceleration of coatingdevice 22 between one target trajectory point and a subsequent targettrajectory point is limited. Thus, reducing spacing between adjacenttarget trajectory points in a single target trajectory (e.g., firsttarget trajectory points 138 in first target trajectory 134) mayintroduce imprecision or deviation in actual velocity of coating device22 relative to component 12 compared to the target velocity, as thespacing may not be sufficient to allow coating device 22 to accelerateto the desired velocity at each target trajectory point.

As such, a given system 10 may have a minimum value for spacing betweenadjacent target trajectory points in a single target trajectory. In someexamples, the minimum value may be about 5 millimeters, or about 10millimeters or about 15 millimeters.

In some examples, the position of the plurality of target trajectorypoints on the surface of the component may be selected to improve aneffective resolution of control of the velocity of the coating deviceand, thus, an effective resolution of thickness control for the coating.As illustrated in FIG. 6, each first target trajectory point of firsttrajectory points 138 and each second target trajectory point of secondtarget trajectory points 140 are offset in a second direction 137relative to each other. For example, first target trajectory point 138Cis offset from second target trajectory point 140C in second direction137, rather than being aligned directly above second target trajectorypoint 140C. The offset arrangement of first target trajectory points 138and second target trajectory points 140 may improve the effectiveresolution of control points for coating device 22 relative to thesurface of component 12 by reducing the effective spacing betweenadjacent target trajectory points in the direction of motion of coatingdevice 22 along a target trajectory, compared to an example, in whichtarget trajectory points are aligned in a column. This may beparticularly the case in examples in which the coating plume overlaps atleast one adjacent target trajectory. Improving the effective resolutionof coating device 22 may enable computing device 30 to reduce deviationsin the actual velocity of coating device 22 compared to the targetvelocity as coating device 22 moves along a target trajectory. In thisway, selecting the distribution of target trajectory points may improvevelocity control of coating device 22. By improving velocity control ofthe coating device, the coating system may improve the accuracy ofcoating application to particular portions of the surface of thecomponent, e.g., the resolution of coating application may be increased.

In some examples, target trajectory points in multiple rows may offsetby fractional amounts to form a periodic arrangement of targettrajectory points over multiple target trajectories. For example, inFIG. 6, every other target trajectory may include substantially alignedtarget trajectory points. As another example, every third targettrajectory may include substantially aligned target trajectory points,such that a first target trajectory defines a spacing between adjacenttarget trajectory points, a second target trajectory adjacent to thefirst target trajectory includes target trajectory points spaced thesame distance apart but offset relative to target trajectory points ofthe first target trajectory by ⅓ of the distance between adjacent targettrajectory points in the same target trajectory, and a third targettrajectory adjacent to the second target trajectory includes targettrajectory points spaced the same distance apart but offset relative totarget trajectory points of the second target trajectory by ⅓ of thedistance between adjacent target trajectory points in the same targettrajectory. Continuing this example, a fourth target trajectory mayinclude target trajectory points spaced the same distance apart andaligned with target trajectory points of the first target trajectory(and offset relative to target trajectory points of the third targettrajectory by ⅓ of the distance between adjacent target trajectorypoints in the same target trajectory). This may be extended to anynumber of fractional offsets. The number of fractional offsets may berelated to the number of adjacent target trajectories that the coatingplume covers while following a given target trajectory. For example, ifthe coating plume covers a total of 5 target trajectories (a centertarget trajectory that coating device 22 is following and two adjacenttarget trajectories on either side of the center target trajectory),every third target trajectory may include substantially aligned targettrajectory points.

Although first trajectory 136 and second trajectory 138 are illustratedas substantially parallel straight lines in a Cartesian plane, in otherexamples, one or more trajectories of a plurality of trajectories mayinclude curved or serpentine lines defined by other coordinate systems,such as, for example, one or more of spherical, cylindrical, or polarcoordinates. For example, FIG. 7 is a conceptual diagram illustratingexample coating device target trajectories and target trajectory pointson an annular component 150. As illustrated by FIG. 7, a first targettrajectory 154 and a second target trajectory 156 are offset in a firstdirection 155 relative to each other (e.g., first target trajectory 154and a second target trajectory 156 are concentric). First trajectory 154includes a plurality of first trajectory points 158A, 158B, 158C, 158D,158E, 158F, and 158G (collectively, “first trajectory points 158”), andsecond trajectory 156 includes a plurality of second trajectory points160A, 160B, 160C, 160D, 160E, 160F, and 160G (collectively, “secondtrajectory points 160”). Each first trajectory point of first trajectorypoints 158 and each second target trajectory point of second targettrajectory points 160 may be offset in a second direction 157 relativeto each other. First target trajectory 154 including first targettrajectory points 158 and second target trajectory 156 including secondtarget trajectory points 160 may be substantially similar to firsttarget trajectory 134 including first target trajectory points 138 andsecond target trajectory 136 including second target trajectory points140, discussed above with respect to FIG. 6, except that first direction135 includes a radial direction and second direction 137 includes anazimuthal angle (or polar angle) in spherical coordinates. In this way,any suitable coordinate system or combination of coordinate systems maybe used to determine the target trajectories.

After receiving the data representative of the geometry of component 12,the technique illustrated in FIG. 5 optionally includes determining, bycomputing device 30, for example, geometry analysis module 52, arespective target coating thickness of a coating for each respectivelocation of the plurality of locations on component 12 (116). Thelocations may correspond to the target trajectory points defined in step(114) or may be different. In some examples, the respective targetcoating thickness may be based on a target coated component geometry anda measured geometry of the component. For example, similar to thediscussion above, the technique may include determining, by computingdevice 30 and, more particularly, geometry analysis module 52, for eachrespective location of the plurality of locations (which representpoints on the surface(s) of component 12 (e.g., a respective x-, y-,z-axis coordinate in a three-coordinate system)), a difference between ameasured geometry and a target geometry. In some examples, determiningthe respective target coating thickness of the coating for eachrespective location of the plurality of locations on component 12 (116)may include registering, by computing device 30, for example, geometryanalysis module 52, the measured geometry to the target geometry, tofacilitate determining the differences between the measured geometry andthe target geometry for each location. In some examples, computingdevice 30, for example, geometry analysis module 52, may determine therespective difference for each respective location of the plurality oflocations in a direction substantially normal to the measured surface ofcomponent 12 at the respective location.

After optionally determining the target thickness (116), the techniqueillustrated in FIG. 5 may include determining, by computing device 30,for example, spray law module 54, a respective motion vector of coatingdevice 22 relative to component 12 for each first target trajectorypoint of the plurality of first target trajectory points and each secondtarget trajectory point of the plurality of second target trajectorypoints to define a path of coating device 22 (118). Each targettrajectory point of the plurality of target trajectory points may beassociated with a respective motion vector, which defines a targetvelocity and direction of movement for coating device 22 at therespective target trajectory point. For example, when coating device 22(e.g., a plume of the spray gun) enters a first target region defined bya first target trajectory point, computing device 30, for example,coating device control module 60, may control coating device 22 to movein a selected direction at a selected velocity toward a second targettrajectory point. This process may be repeated for the plurality oftarget trajectory points to define each target trajectory of a pluralityof target trajectories. In this way, the technique of FIG. 5 includesdefining a path of travel of coating device 22 relative to component 12.Computing device 30, e.g., spray law module 54, may determine velocityat each target trajectory point as described above, e.g., in step (76)of FIG. 3.

In some examples, the technique illustrated in FIG. 5 also includesdetermining, by computing device 30, for example, spray law module 54, anumber of passes that coating device 22 will travel over each locationof the plurality of locations to deposit the target thickness of thecoating at each location of component 12.

In some examples, at least one of the determined target trajectories,the determined motion vector, and, in some examples, the determinednumber of passes, may define a coating program for coating component 12including at least one coating device path, such as a plurality ofcoating device paths. A first respective path of the plurality of pathsmay direct a coating material to the same portion, different portions,or one or more overlapping portions of component 12, compared to otherrespective paths of the plurality of paths.

In some examples, determining the coating program may includedetermining, by computing device 30, for example, spray law module 54,at least one of the target trajectories, the motion vector, and thenumber of passes based on a predetermined template coating program. Insome examples, the predetermined template program may define parametersfor a coating process and may be experimentally verified. In someexamples, one or more of these parameters may be fixed, and computingdevice 30 may change one or more of the target trajectories, the motionvector, and the number of passes. In some examples, the predeterminedtemplate program may include a plurality of subroutines. In someexamples, the predetermined template program may be written in anysuitable programming language (e.g., C/C++, Python, Java, C#/.NET,MATLAB, Assembly, Hardware Description Languages (HDLs), LISP,industrial robot languages, BASIC/Pascal, or the like). In someexamples, computing device 30, for example, spray law adjustment module56, may adjust one or more parameters of the predetermined templateprogram or parameters of a coating process to arrive at a coatingprogram for applying a coating to deposit the target coating thicknessto component 12. For example, computing device 30, for example, spraylaw module 54, may determine a respective number of passes of coatingdevice 22 for each location of component 12. In some examples, computingdevice 30, for example, spray law module 54, may determine a number ofpasses for each location of component 12 by determining a respectivenumber of times each respective subroutine of a predetermined templateprogram is to be executed or performed (e.g., a subroutine count).

In some examples, computing device 30, for example, spray law adjustmentmodule 56, may utilize a non-linear optimization technique to determineat least one of the target trajectories, the motion vector, thevelocity, and the number of passes. For example, computing device 30,for example, spray law adjustment module 56, may perform an optimizationusing the L-BFGS-B nonlinear optimization algorithm (a limited-memoryBroyden-Fletcher-Goldfarb-Shanno approximation that handles boundconstraints on variables). In some examples, part of the optimizationmay include executing, by computing device 30, for example, spray lawadjustment module 56, a simulation of the coating process based on thegeometry of component 12 and at least one spray law.

After determining the motion vectors, the technique may includecontrolling, by computing device 30, for example, coating device controlmodule 54, control coating device 22 to coat component 12 based on thepredetermined template coating program (120). For example, computingdevice 30 may control coating device 22 to direct a coating material toa surface of component 12 based on the determined motion vectors. Inthis way, computing device 30 may be configured to coat the surface(s)of component 12 to substantially achieve a target thickness for eachrespective location of the plurality of locations on component 12.

In some examples, one or more spray laws may receive additional processcalibration to account for variability in coating accumulation due toeffects that are otherwise unaccounted for in the spray laws, such aseffects that are not related to geometry of the substrate, coatingprocess parameters, and the like. Some unaccounted-for effects include,but are not limited to, fixture effects, such as aerodynamics of thedifferent portions of the surface of the component or thermodynamiceffects (e.g., heat loss) at the different portions of the surface ofthe component, or spray booth effects, such as arrangement of acomponent within a coating system. Accounting for these effects mayimprove consistency of coating applications between components coated ina single coating process run, between components in multiple coatingprocess runs on the same coating system, and between components coatingin different coating systems. FIG. 8 is a flow diagram of an exampletechnique for controlling a thickness of a coating applied to acomponent 12 using a comparison to a measured coating thickness.Although the technique of FIG. 8 will be described with respect tosystem 10 of FIG. 1 and computing device 30 of FIG. 2, in otherexamples, the technique of FIG. 8 may be performed using a differentsystem, a different computing device, or both. Additionally, system 10and computing device 30 may perform other techniques for controlling athickness of a coating applied to a component using target trajectorypoints.

The technique illustrated in FIG. 8 includes receiving, by computingdevice 30, for example, geometry acquisition module 50, a geometry ofcomponent 12 in an uncoated state and a measured coating thickness of atest component in a coated state (172). Receiving the geometry ofcomponent 12 and the measured coating thickness of the test componentmay be the same or substantially similar as described above with respectto FIG. 3, except that computing device 30 receives the measured coatingthickness of the test component. In some examples, the test component iscoated by coating device 22. A geometry of the test component in anuncoated state is substantially similar to the geometry of component 12in an uncoated state. In this way, the measured coating thickness of thetest component may be representative of a coating applied to component12 by coating device 22. The measured coating thickness of the testcomponent may include any resolution of locations on the surface of thecoated test component. For example, the coating thickness may bemeasured at a predetermined number of locations of the test component.The predetermined number of locations may be relatively few, e.g.,between 1 and 10 locations, or relatively many, e.g., tens, hundreds, orthousands of locations.

The technique illustrated in FIG. 8 also includes determining, bycomputing device 30, for example, spray law module 54, a simulatedcoating thickness based on the geometry and a first spray law comprisinga plurality of first spray law parameters (174). For example, computingdevice 30 may use spray law module 54 to simulate coating accumulationon component 12 using a first spray law or a first plurality of spraylaws and the measured geometry of component 12. As discussed above, thefirst spray law or each spray law of the first plurality of spray lawsmay include at least one respective first spray law parameter. In someexamples, computing device 30, e.g., spray law module 54, may simulatethe coating thickness at each location at which the coating thickness onthe test component was measured. In other examples, computing device 30,e.g., spray law module 54, may simulate the coating thickness at feweror more locations than the number of locations at which the coatingthickness on the test component was measured.

In some examples, the technique may include, before determining thesimulated coating thickness (174), defining, by computing device 30, forexample, geometry acquisition module 50, a plurality of componentgeometry regions of component 12 and a plurality of test componentgeometry regions of a test component corresponding to the plurality ofcomponent geometry regions. For example, the plurality of componentgeometry regions may include two or more regions of the geometry ofcomponent 12, such as six component geometry regions. In examples inwhich the geometry includes a plurality of locations on a surface of thecomponent, each respective component geometry region of the plurality ofcomponent geometry regions may correspond to a respective location ofthe plurality of locations. The number and locations of the plurality oftest component geometry regions may correspond to the number andlocations of the plurality of component geometry regions to enablecomputing device 30 to associate a measured thickness of each respectivetest component geometry region of the plurality of test componentgeometry regions to each respective component geometry region of theplurality of component geometry regions.

In examples in which computing device 30 defines a plurality ofcomponent geometry regions of component 12 and a plurality of testcomponent geometry regions of a test component, the techniqueillustrated in FIG. 8 may be performed for each region of the pluralityof component geometry regions. For example, determining the simulatedcoating thickness (174), determining the difference (176, discussedbelow), iteratively adjusting the at least one first spray law parameter(178, discussed below), determining the respective subsequent difference(180, discussed below), selecting the subsequent spray law (182,discussed below), and controlling the coating process (184, discussedbelow) is performed for each region of the plurality of componentgeometry regions.

In some examples, the plurality of spray law parameters may include asticking factor. based on a difference between the simulated coatingthicknesses and the measured coating thickness. The sticking factor maybe an independent factor in a spray law that accounts for fixtureeffects, spray booth effects, or other factors or combinations offactors that affect coating accumulation. For example, the stickingfactor may be indicative of an amount of the simulated coating thicknessapplied to component 12 when the coating process is controlled using thespray law.

In some examples, the sticking factor includes a plurality of stickingfactors and the difference in coating thickness includes a plurality ofdifferences in coating thickness. For example, each respective stickingfactor of the plurality of sticking factors may be based on a respectivedifference of the plurality of differences in coating thickness. Eachrespective sticking factor of the plurality of sticking factors (andeach respective difference of the plurality of differences) maycorrespond to at least one of a respective location of the plurality oflocations of the measured geometry of component 12, a respectivegeometry region of the plurality of geometry regions of the measuredgeometry of component 12, or a respective position of the plurality ofpositions of a predetermined template coating program.

In some examples, the sticking factors may be determined for morelocations than the differences in coating thickness. For example,computing device 30, e.g., geometry analysis module 52, may determine asticking factor for a position between two locations of the measuredgeometry of component 12. Computing device 30, e.g., geometry analysismodule 52, may interpolate the sticking factor from respective stickingfactors for the two locations. Similarly, computing device 30, e.g.,geometry analysis module 52, may extrapolate a sticking factorcorresponding to a position not on the surface of the component from asticking factor for an adjacent location of the measured geometry ofcomponent 12. In this way, computing device 30, e.g., geometry analysismodule 52, may determine a plurality of sticking factors for anyposition on or near a surface of component 12. Computing device 30,e.g., geometry analysis module 52, may perform interpolation orextrapolation for a respective difference of the plurality ofdifferences, or using the plurality of regions of the measured geometryof component 12 or the plurality of positions of a predeterminedtemplate coating program.

After determining the simulated coating thickness (174), the techniqueillustrated in FIG. 8 includes determining, by computing device 30, forexample, geometry analysis module 52, a difference between the simulatedcoating thicknesses and the measured coating thicknesses (176). Forexample, the difference may be determined for each location of aplurality of locations, each position of a plurality of positions, oreach region of a plurality of regions.

In some examples, although not illustrated in FIG. 8, the technique mayinclude determining, by computing device 30, for example thresholdanalysis module 58, whether the first spray law or the first pluralityof spray laws represents the coating process sufficiently accurately.For example, computing device 30, e.g., threshold analysis module 58,may utilize the one or more differences representative of the differencebetween the simulated coating thicknesses and the measured coatingthickness to determine whether the first spray law or the firstplurality of spray laws represents the coating process sufficientlyaccurately. In some examples, computing device 30, for example thresholdanalysis module 58, may determine a value representative of thedifference. In some examples, computing device 30, for example thresholdanalysis module 58, may manipulate the respective differences to arriveat a single value, as described above. For example, computing device 30,for example, threshold analysis module 58, may compare the single valueto a predetermined threshold value to determine whether the accuracywith which the simulated coating thicknesses reflects the measuredcoating thickness is sufficient for determining coating programs forcoating another component. In other examples, computing device 30, forexample threshold analysis module 58, may compare each respectivedifference associated with a respective simulated coating thickness ateach respective location of the plurality of locations of the surface ofcomponent 12 to a threshold difference value. Computing device 30, forexample, threshold analysis module 58, may count a number of differencesthat exceed the threshold difference value, and compare this count to athreshold count number.

After determining the sticking factor (176), the technique illustratedin FIG. 8 also includes iteratively adjusting, by computing device 30,for example, spray law adjustment module 56, at least one first spraylaw parameter of the plurality of first spray law parameters todetermine (178). In some examples, iteratively adjusting at least onefirst spray law parameter may include iteratively adjusting a stickingfactor to determine a respective subsequent spray law comprising anupdated sticking factor. In some examples, adjusting the sticking factorto determine the respective subsequent spray law or plurality ofrespective subsequent spray laws includes maintaining a number of passesand a coating device velocity between the first spray law and eachrespective subsequent spray law. In some examples, the respectivesubsequent spray law or may more accurately represent the coatingprocess by including a more accurate sticking factor. After determiningthe respective subsequent spray law, although not illustrated in FIG. 8,the technique includes determining, by computing device 30, for example,spray law module 54, a subsequent simulated coating thickness based onthe geometry and the respective subsequent spray law or the plurality ofrespective subsequent spray laws.

After determining the subsequent simulated geometry, the technique mayinclude determining, by computing device 30, for example, spray lawmodule 54, whether the respective subsequent spray law or the pluralityof respective subsequent spray laws represents the coating process withsufficient accuracy, similar to the process described above with respectto the simulated geometry. For example, the technique illustrated inFIG. 8 includes iteratively determining, by computing device 30 and,more particularly, geometry analysis module 52, a respective subsequentdifference between the measured coating thickness and a subsequentsimulated coating thickness based on the geometry and the respectivesubsequent spray law or the plurality of respective subsequent spraylaws (180).

In some examples, the technique includes utilizing, by computing device30 and, more particularly, spray law adjustment module 54, anoptimization algorithm to adjust at least one first spray law parameterof the plurality of first spray law parameters to determine therespective subsequent spray law or the plurality of respectivesubsequent spray laws. As discussed above, the optimization algorithmmay include, for example, a nonlinear optimization algorithm, such asthe L-BFGS-B nonlinear optimization algorithm, to reduce (e.g.,minimize) an objective function whose inputs include one or morerepresentations of the difference between the simulated coatingthickness and the measured coating thickness. In some examples, thetechnique may include iteratively adjusting at least one first spray lawparameter of the plurality of first spray law parameters to determine arespective subsequent spray law or a plurality of respective subsequentspray laws and iteratively determining a respective subsequentdifference until a value of the objective function is less than athreshold value or a rate of change in the objective function from oneiteration to the next is less than a threshold value.

Once a value of the objective function is less than a threshold value ora rate of change in the objective function from one iteration to thenext is less than a threshold value, the technique illustrated in FIG. 8also includes selecting by computing device 30, for example, thresholdanalysis module 58, a subsequent spray law or a plurality of subsequentspray laws from the respective subsequent spray laws or the plurality ofrespective subsequent spray laws based on the respective subsequentdifferences (182). For example, the technique may include determining,by computing device 30, for example, threshold analysis module 58, thatthe most recent spray law or most recent plurality of spray lawsrepresents the coating process with sufficient accuracy. In someexamples, the selected subsequent spray law or the plurality ofrespective subsequent spray laws includes the sticking factor. Thesticking factor is indicative of an amount of the simulated coatingthickness applied to component 12 when the coating process is controlledusing the subsequent spray law. For example, the sticking factor maycompensate for the difference between the simulated coating thickness ofcomponent 12 and the measured coating thickness of the test component.Each respective spray law of the plurality of spray laws may include arespective sticking factor of a plurality of sticking factors andcorrespond to a respective region of the plurality of regions, such as arespective location of the plurality of locations on the surface ofcomponent 12. In this way, each respective sticking factor may representthe sticking factor at a respective location on component 12, such thateach respective spray law more accurately represents the coating processat each respective location on component 12. As such, computing device30 may select different spray laws (including different stickingfactors) for different locations of component 12. In some examples,computing device 30 may determine sticking factors based on thedifferences for a set of locations, then determine sticking factors forintermediate locations using interpolation.

After selecting a subsequent spray law or subsequent spray laws thatrepresent the coating process with sufficient accuracy, the techniqueillustrated in FIG. 8 also includes controlling, by computing device 30,for example, coating device control module 58, a coating process basedon the selected subsequent spray law to compensate for the difference(184). For example, computing device 30, for example, coating devicecontrol module 58, may utilize the most recent spray law or most recentplurality of spray laws in future coating processes to compensate forthe difference.

Examples

Gas turbine engine blade track analogs (e.g., “the components”) weremachined via wire-EDM from low carbon steel for coating using thesystems and techniques of this disclosure. The components were gritblasted prior to coating. A F4 MB-XL spray gun using top and bottominjectors, available from Oerlikon Metco, Pfaffikon, Switzerland, wasused to apply the coating material. Spray gun movement was controlled byan ABB robot, available from ABB Ltd., Zurich, Switzerland. A bondcoating material included Metco 450NS, available from Oerlikon Metco,Pfaffikon, Switzerland. The bond coating material was applied to thecomponents without any coating process adaptation. A top coatingmaterial included Metco 2460NS coating, available from Oerlikon Metco,Pfaffikon, Switzerland. The top coating material was applied to thecomponents with coating process adaptation as discussed below.

A spray angle was selected normal to the surface of the component.Components were mounted to a stage of a coating system by seating partsin mounts and clamping the sides of the components. A ladder-style pathof travel was selected for the spray gun. For multiple passes, a secondladder-style path was shifted relative to the first ladder-style path by2.0 millimeters. That is, multiple passes were divided up into oddnumbered passes, which were not shifted, and even numbered passes whichwere shifted 2 millimeters relative to the odd numbered passes. Thecoating material was the same in all passes. The spray distance was setto 120 millimeters. The distance between consecutive passes was set to4.0 millimeters.

In a first trial, a first spray program including a first spray law wasoptimized using the technique of this disclosure by adjusting spray gunvelocity during each subroutine and the number of passes (e.g., numberof times a subroutine was performed) to achieve a target coatingthickness of 1.20 millimeters. A coating was applied to a firstcomponent using the first spray program. The actual coating thicknesswas measured using an Aicon sterioSCAN neo, available from HexagonManufacturing Intelligence, North Kingstown, R.I., to scan the shape ofthe part prior to and after applying coating. The measured thickness wasfound by taking the difference between the two measurement. A differencebetween the measured coating thickness (e.g., a coating thickness of thetest component) and the coating thickness predicted by the first sprayprogram was determined. FIGS. 9A and 9B are heat maps (e.g., shadingmatrix) illustrating a measured coating thickness 200 of the firstcomponent and a simulated coating thickness 210 of the first componentbased on a geometry of the first component and the first spray program,respectively. The shading in FIGS. 9A and 9B (also FIGS. 10 and 11) isrelative to the target coating thickness shown in FIG. 9B. That is,darker shading relative to FIG. 9B indicates a region of thicker coatingthickness compared to the target coating thickness, whereas lightershading (or no shading) indicates a region of thinner coating thicknesscompared to the target coating thickness. As illustrated in FIGS. 9A and9B, the measured coating thickness 200 did not match the simulatedcoating thickness 210. For example, a region in and around a first area202 was measurably less than the simulated coating thickness 210 and aregion in and around a second area 204 was measurably greater than thesimulated coating thickness by the first spray program. The differencebetween the measured coating thickness 200 illustrated in FIG. 9A andthe simulated coating thickness 210 illustrated in FIG. 9B may be dueto, for example, different thermal conditions, different fixturing, ordifferent aerodynamic conditions when compared to calibration trials.Additionally, the measured coating thickness 200 was generally greaterthan the target coating thickness of 1.20 millimeters over the majorityof the surface of the component.

In a second trial, a second spray program including a second spray lawwas optimized using the techniques of this disclosure. The measuredcoating thicknesses 200 of the first trial was used as target coatingthicknesses for spray law optimization, e.g., such that the simulatedcoating thickness predicted by the second spray program would bettermatch the measured thickness from the first trail. Additionally, themounts adjacent to the mount on which a second component was securedwere removed from the stage to reduce aerodynamic effects of theadjacent mounts, such as powder reflection effects from the adjacentmounts. FIG. 10 is a heat map illustrating a measured coating thickness220 of the second component. The measure coating thickness 220 of thesecond component was less than the target coating thickness of 1.20millimeters over the entire surface of the component. The mean coatingthickness error of the second component was reduced compared to the meancoating thickness error of the first component. Also, the coatingthickness standard deviation of the second component was reducedcompared to the coating thickness standard deviation of the firstcomponent.

In a third trial, the surface of the third component was conceptuallydivided into six regions. Also, simulation points not on the surface ofthe component were introduced to enable the robot to achieve apre-determined velocity before the coating device reached thirdcomponent. Additionally, each pass (e.g., target trajectory) was brokenin to multiple moves (e.g., target trajectory points) that were spaced15 millimeters apart, and staggered (e.g., offset) between adjacentpasses to increase the spatial resolution with which the system couldcontrol coating thickness (e.g., to improve control of coating devicevelocity). A third spray program including six spray law, one spray lawfor each of the six regions, was optimized using the techniques of thisdisclosure. The measured coating thicknesses from the second trial,e.g., for each of six regions of the measured coating thicknesscorresponding to the six regions of the third component, was used astarget coating thicknesses for spray law optimization. Target thicknessvalues for the simulation points were determined based on the measuredcoating thickness of the second trail using nearest neighborextrapolation. FIG. 11 is a heat map illustrating a measured coatingthickness 230 of the third component. The measure coating thickness 230of the third component was substantially equal to the target coatingthickness of 1.20 millimeters over the majority of the surface of thecomponent. Table 1 summarizes the results of the three trials.

TABLE 1 Mean Standard Error Deviation Trial Adaptation (mm) (mm) 1 None0.136 0.055 2 Adjusted 1 spray law −0.109 0.025 3 Adjusted 6 spray lawsfor each of six regions 0.003 0.030As illustrated in Table 1, trial 3 included a reduction in both meanerror of the coating thickness and standard deviation of the coatingthickness. Compared to trial 1, trial 3 included a 97.8% reduction inmean error of the coating thickness and a 45.5% reduction in thestandard deviation of the coating thickness.

Various examples have been described. These and other examples arewithin the scope of the following claims.

What is claimed is:
 1. A system comprising: a measuring deviceconfigured to measure a three-dimensional surface geometry of acomponent; a coating device configured to direct a coating material to asurface of the component to form a coating; and a computing deviceconfigured to: receive, from the measuring device, a geometry of thecomponent, the geometry comprising a plurality of locations on a surfaceof the component; determine a first target trajectory comprising a firstplurality of target trajectory points based on the plurality oflocations and a second target trajectory comprising a second pluralityof target trajectory points based on the plurality of locations, whereinthe first trajectory and the second trajectory are offset in a firstdirection relative to each other, and wherein the plurality of firsttrajectory points and the plurality of second trajectory points areoffset in a second direction relative to each other; determine arespective target coating thickness of the coating for each respectivelocation of the plurality of locations based on a target coatedcomponent geometry and the geometry of the component; and determine arespective motion vector of a coating device relative to the componentfor each first target trajectory point of the plurality of first targettrajectory points based on the first target trajectory and each secondtarget trajectory point of the plurality of second target trajectorypoints based on the second target trajectory to define a path of thecoating device to deposit the respective target coating thickness foreach respective location.
 2. The system of claim 1, wherein thecomputing device is further configured to control the coating devicebased on the respective motion vectors.
 3. The system of claim 1,wherein the respective motion vectors are based on a respective spraylaw of a plurality of spray laws.
 4. The system of claim 3, wherein eachrespective spray law is based on at least one of an amount of thecoating applied at each respective location on one or more previouspasses, the location of the coating device relative to each respectivetarget trajectory point, the orientation of the coating device relativeto each respective target trajectory point, or a predetermined velocityof the coating device.
 5. The system of claim 1, wherein the firsttarget trajectory and the second target trajectory are substantiallyparallel to a first axis, wherein the first direction is substantiallyperpendicular to the first axis, wherein the second direction issubstantially parallel to the first axis.
 6. The system of claim 1,wherein the computing device is configured to determine a third targettrajectory comprising a third plurality of target trajectory pointsbased on the plurality of locations, wherein third trajectory and thesecond trajectory are offset in the first direction relative to eachother, and wherein the third plurality of trajectory points and theplurality of second trajectory points are offset in a second directionrelative to each other.
 7. The system of claim 1, wherein the computingdevice is configured to determine a number of passes of the coatingdevice for each respective target trajectory point of the plurality oftarget trajectory points to deposit the respective target coatingthickness for each respective location, wherein the number of passes arebased on a respective spray law of a plurality of spray laws.
 8. Thesystem of claim 1, wherein the computing device is configured todetermine a respective coating subroutine of a plurality of coatingsubroutines defining a path of travel of the coating device, a velocityof travel of the coating device, and an orientation of the coatingdevice for coating a portion of the component.
 9. The system of claim 1,wherein the computing device is configured to determine the respectivemotion vector by at least reducing a value of an objective functionbased on at least one of a total error of respective differences betweenthe target coated component geometry and the simulated geometry of thecomponent for each location, a time to form the coating, or a totalacceleration experienced by the coating device while applying thecoating.
 10. The system of claim 1, wherein the component comprises aceramic component or a ceramic matrix composite (CMC) component.